package com.agileboot.domain.airport.inspection.db;

import com.agileboot.common.core.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 检查计划表
 * </p>
 *
 * @author valarchie
 * @since 2025-07-10
 */
@Getter
@Setter
@TableName("sir_inspection")
@ApiModel(value = "SirInspectionEntity对象", description = "检查计划表")
public class SirInspectionEntity extends BaseEntity<SirInspectionEntity> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("检查Id")
    @TableId(value = "inspection_id", type = IdType.AUTO)
    private Long inspectionId;

    @ApiModelProperty("检查名称")
    @TableField("inspection_name")
    private String inspectionName;

    @ApiModelProperty("检查来源")
    @TableField("inspection_source")
    private String inspectionSource;

    @ApiModelProperty("开始时间")
    @TableField("start_time")
    private Date startTime;

    @ApiModelProperty("结束时间")
    @TableField("end_time")
    private Date endTime;

    @ApiModelProperty("检查内容")
    @TableField("inspection_content")
    private String inspectionContent;

    @ApiModelProperty("检查对象")
    @TableField("inspection_dept_id")
    private Long inspectionDeptId;

    @ApiModelProperty("创建者")
    @TableField("create_by")
    private String createBy;

    @ApiModelProperty("创建时间")
    @TableField("create_time")
    private Date createTime;

    @ApiModelProperty("更新者")
    @TableField("update_by")
    private String updateBy;

    @ApiModelProperty("更新时间")
    @TableField("update_time")
    private Date updateTime;

    @ApiModelProperty("备注")
    @TableField("remark")
    private String remark;

    @ApiModelProperty("状态")
    @TableField("status")
    private String status;

    @ApiModelProperty("计划日期")
    @TableField("plan_date")
    private Date planDate;

    @ApiModelProperty("检查编号")
    @TableField("inspection_code")
    private String inspectionCode;

    @ApiModelProperty("检查条款")
    @TableField("check_count")
    private Long checkCount;

    @ApiModelProperty("检查符合条款")
    @TableField("check_ok_count")
    private Long checkOkCount;

    @ApiModelProperty("检查类型")
    @TableField("inspection_type")
    private String inspectionType;

    @ApiModelProperty("检查周期")
    @TableField("inspection_period")
    private String inspectionPeriod;

    @ApiModelProperty("检查级别")
    @TableField("inspection_level")
    private String inspectionLevel;

    @ApiModelProperty("审批人")
    @TableField("approver")
    private Long approver;

    @ApiModelProperty("检查部门")
    @TableField("dept_id")
    private Long deptId;

    @ApiModelProperty("检查小组")
    @TableField("check_userid_list")
    private String checkUseridList;

    @ApiModelProperty("小组组长id")
    @TableField("check_user_id")
    private Long checkUserId;

    @ApiModelProperty("创建者id")
    @TableField("creator_id")
    private Long creatorId;

    @ApiModelProperty("更新者id")
    @TableField("updater_id")
    private Long updaterId;

    @ApiModelProperty("审批意见")
    @TableField("suggestion")
    private String suggestion;

    @ApiModelProperty("删除标记")
    @TableField("deleted")
    private Boolean deleted;

    @Override
    public Serializable pkVal() {
        return this.inspectionId;
    }

}